﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.Composition;
using System.Windows.Controls;

namespace DynamicUIFramework
{
    public interface IElement
    {
        string ReferenceResourceKey { get; set; }
    }
    [PropertyAction("Background")]
    [PropertyAction("Foreground")]
    [Export("MButton", typeof(IElement))]
    [PartCreationPolicy(CreationPolicy.NonShared)]
    public class MButton : Button, IElement
    {
        public MButton()
        {
            MinHeight = 50;
            MinWidth = 100;
        }

        public string ReferenceResourceKey
        {
            get;
            set;
        }
    }

    [Export("MRadioButton", typeof(IElement))]
    [PartCreationPolicy(CreationPolicy.NonShared)]
    public class MRadioButton : RadioButton, IElement
    {
        public string ReferenceResourceKey
        {
            get;
            set;
        }

    }


    [Export("MSlider", typeof(IElement))]
    [PartCreationPolicy(CreationPolicy.NonShared)]
    public class MSlider : Slider, IElement
    {
        public string ReferenceResourceKey
        {
            get;
            set;
        }

    }

    [Export("MCheckBox", typeof(IElement))]
    [PartCreationPolicy(CreationPolicy.NonShared)]
    public class MCheckBox : CheckBox, IElement
    {
        public string ReferenceResourceKey
        {
            get;
            set;
        }

    }

    [Export("MUserControl", typeof(IElement))]
    [PartCreationPolicy(CreationPolicy.NonShared)]
    public class MUserControl : UserControl, IElement
    {
        public string ReferenceResourceKey
        {
            get;
            set;
        }

    }
}
